/*
 * $Id: dictGui.h 9ce65bed8ef4 2012/08/26 02:14:51 pgurumur $
 * Copyright (c) 2012 Prabhu Gurumurthy <pgurumur@gmail.com>
 *
 * Permission to use, copy, modify, and distribute this software for any
 * purpose with or without fee is hereby granted, provided that the above
 * copyright notice and this permission notice appear in all copies.
 *
 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 *

 * __version__  = "$Revision: 9ce65bed8ef4 $"
 * __author__   = "$Author: pgurumur $"
 * __modified__ = "$Date: 2012-08-26 02:14:51Z $"
 */
#ifndef  __DICT_GUI_H_
#define  __DICT_GUI_H_

#include <QApplication>
#include <QCompleter>
#include <QGroupBox>
#include <QGridLayout>
#include <QHBoxLayout>
#include <QLabel>
#include <QLineEdit>
#include <QPushButton>
#include <QRadioButton>
#include <QString>
#include <QTextDocument>
#include <QTextEdit>
#include <QTextCursor>
#include <QVBoxLayout>
#include <QWidget>

#include "dictClient.h"

namespace QtDict { 
   class QErrorMessage; 
   
   class qtDict : public QWidget {
      Q_OBJECT
      public:
         qtDict(QWidget *);
         ~qtDict();

      public slots:
         void dictConnect(void);
         void dictQuery(void);  

      protected:
         QCompleter *_queryCompleter;
         QGridLayout *_mainLayout;

         QGroupBox *_editLayout;
         QGroupBox *_buttonLayout;
         QGroupBox *_resultLayout;

         QHBoxLayout *_layout;
         QHBoxLayout *_bLayout;

         QLabel *_label;
         QLabel *_queryLabel;
         QLabel *_resultLabel;

         QLineEdit *_textEdit;
         QLineEdit *_queryEdit;

         QPushButton *_queryButton;
         QPushButton *_quitButton;
         QPushButton *_connectButton;

         QRadioButton *_ipv4;
         QRadioButton *_ipv6;

         QTextEdit *_resultEdit;

         QVBoxLayout *_vLayout;

         dictClient *_client;

         int __conn;
   };
}

#endif
